Computing Approximate Happens-Before Order with Static and Dynamic Analysis
نویسندگان
چکیده
All techniques and tools for verification of multi-threaded programs must cope with the huge number of possible thread interleavings. Tools based on systematic exploration of a program state space employ partial order reduction to avoid redundant thread interleavings and unnecessary thread choices. The key idea is to make non-deterministic thread choices only at statements that read or modify the global state shared by multiple threads. We focus on Java Pathfinder (JPF), which constructs the program state space on-the-fly, and therefore uses only information available in the current dynamic program state and execution history to identify statements that may be globally-relevant. In our previous work, we developed a field access analysis that provides information about fields that may be accessed in the future during program execution, and used it with JPF for more precise identification of globally-relevant statements. We build upon that and propose a hybrid may-happen-before analysis that computes a safe approximation of the happens-before ordering. JPF uses the happensbefore ordering to detect pairs of globally-relevant field access statements that cannot be interleaved arbitrarily (due to synchronization between threads), and based on that avoids making unnecessary thread choices. The may-happen-before analysis combines static data flow analysis and usage of information available from the dynamic program state. This report describes the may-happen-before analysis, and provides results of experiments with several Java programs showing that usage of the may-happen-before analysis together with the field access analysis improves the scalability of JPF. This work was partially supported by the Grant Agency of the Czech Republic project 13-12121P and the EU project ASCENS 257414. The work was also partially supported by the Grant Agency of the Charles University project 203-10/253297. D3S, Technical Report no. D3S-TR-2013-06 CONTENTS
منابع مشابه
Three dimensional static and dynamic analysis of thick plates by the meshless local Petrov-Galerkin (MLPG) method under different loading conditions
In this paper, three dimensional (3D) static and dynamic analysis of thick plates based on the Meshless Local Petrov-Galerkin (MLPG) is presented. Using the kinematics of a three-dimensional continuum, the local weak form of the equilibrium equations is derived. A weak formulation for the set of governing equations is transformed into local integral equations on local sub-domains by using a uni...
متن کاملStatic and Dynamic Analysis of Bus Structure and Chassis of O-457
With due attention to the fact that the local and foreign vehicle industries are changing and modifying the previous designs in order to produce new designs, the components of self-propelled are to be differently analyzed. Static and dynamic analysis is one of them. In this paper, chassis and body of a o-457 bus were studied and analyzed under finite element method (using ANSYS).This process wa...
متن کاملStatic and dynamic nonlinear analysis of steel frame with semi-rigid connections
One of the important issues in the study of steel frames is to find a suitable formulation for semi-rigid connections. In this paper, the explicit stiffness matrix for a two-dimensional beam-column element having end-flexibilities is derived. The effects of the lateral uniformly distributed load on the deflection are considered. Both tensile and compressive axial loads are also taken into accou...
متن کاملDynamic Instability Analysis of Embedded Multi-walled Carbon Nanotubes under Combined Static and Periodic Axial Loads using Floquet–Lyapunov Theory
The dynamic instability of single-walled carbon nanotubes (SWCNT), double-walled carbon nanotubes (DWCNT) and triple-walled carbon nanotubes (TWCNT) embedded in an elastic medium under combined static and periodic axial loads are investigated using Floquet–Lyapunov theory. An elastic multiple-beam model is utilized where the nested slender nanotubes are coupled with each other through the van d...
متن کاملAnalysis Tools for Reliable Software Everywhere
Software is becoming ubiquitous in everyday life, from todays smartphones and servers to tomorrows self-driving cars, drones, and Internet of Things devices. However, the distributed, always-on nature of this software poses significant new challenges for reliability, security, and programmer productivity. Better programming tools are needed to enable next-generation applications to achieve thei...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013